package com.waikuai.shop.vo;

import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 物流信息视图对象
 * @author waikuai
 */
@Data
public class LogisticsVO {

    /**
     * 订单创建时间
     */
    private LocalDateTime createTime;

    /**
     * 物流状态：0-待支付，1-待发货，2-配送中，3-待取件，4-已完成
     */
    private Integer logisticsStatus;

    /**
     * 物流状态描述
     */
    private String statusDesc;

    /**
     * 物流进度（百分比，0-100）
     */
    private Integer progress;

    /**
     * 取件码（仅待取件状态时有值，4位数字）
     */
    private String pickupCode;

    /**
     * 物流进度列表（4个节点）
     */
    private List<LogisticsStep> steps;

    /**
     * 物流步骤
     */
    @Data
    public static class LogisticsStep {
        /**
         * 步骤标题
         */
        private String title;

        /**
         * 步骤描述
         */
        private String desc;

        /**
         * 步骤时间
         */
        private LocalDateTime time;

        /**
         * 是否已完成
         */
        private Boolean completed;

        /**
         * 步骤索引（0-3）
         */
        private Integer index;
    }
}
